2
多维张量的线性现实
AI023Lesson 7
00:00

虽然我们为了数学上的便利将数据可视化为二维网格,但硬件仅看到一个 连续的 1 维字节流。理解这种“线性现实”是实现逐行 归约模式——例如寻找最大值或指数之和。

1. “线性展平”原则

每个多维张量在物理上都是顺序存储的。要实现 $\text{softmax}(x_i) = \frac{e^{x_i}}{\sum_j e^{x_j}}$,我们必须识别代表某一行的线性段,并进行遍历以计算最大值和总和。

2D 逻辑结构1D 物理内存

2. 数值稳定性

为什么 Softmax 需要稳定化?输入值过高会导致 $e^{x}$ 指数爆炸。我们通过以下方式实现稳定:$$\text{exp}(x_i - \text{max}(x))$$ 这要求内核设计者在最终归一化前执行两次线性归约(先求最大值,再求和)。

3. 通过短行验证

在开发 Triton 内核时,我们使用 仅测试短行 (例如宽度为 16)来确保我们的线性指针算术能正确捕获每一个元素,然后再扩展到生产负载。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>